package dawn.jxufe.community.dao;

import dawn.jxufe.community.entity.DiscussPost;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @author dawn21
 * @version 1.0
 * @date 2022/6/28 16:13
 * @component
 */
@Mapper
public interface DiscussPostMapper {
    // 参数：帖子用户id，动态SQL。为了分页，起始行行数，每页行数。
    List<DiscussPost> selectDiscussPost(int userId, int offset, int limit, int orderMode); // 0为默认排序，1为按热度排序。

    // 查询数据库中帖子总行数。可以参数起别名，为了避免参数名字过长。
    // 如果动态条件SQL<if>条件里面，这里参数如果只有一个，那就要有一个别名。
    int selectDiscussPostRows(@Param("userId") int userId);

    // 插入帖子，参数是一个帖子。
    int insertDiscussPost(DiscussPost discussPost);
    // 查询帖子详情。
    DiscussPost selectDiscussPostById(int id);

    // 更新评论数量。也就是一个帖子的评论数量，不是和回复数量无关。
    int updateCommentCount(int id, int commentCount);

    // 置顶、加精帖子
    int updateType(int id, int type);
    // 删除帖子
    int updateStatus(int id, int status);

    int updateScore(int id, double score);

}
